// const baseUrl = 'http://127.0.0.1:8000'

// function login(){
	
// 	const url = baseUrl + '',
// 	uni.request({
// 	    url: url, //仅为示例，并非真实接口地址。
// 	    data: {
// 	        username:"",
// 			password:""
// 	    },
// 	    header: {
	        
// 	    },
// 		method:"POST"
// 	    success: (res) => {
// 	        console.log('请求结果',res.data);
	        
// 	    }
// 	});

// }

// export default {
// 	http.login()
// }

// 基础请求配置
const BASE_URL = 'http://192.168.18.58:8080';

// 请求拦截器
const requestInterceptor = (config) => {
    // 获取token
    const token = uni.getStorageSync('token');
    if (token) {
        config.header = {
            ...config.header,
            'Authorization': `Bearer ${token}`
        };
    }
    return config;
};

// 响应拦截器
const responseInterceptor = (response) => {
    if (response.statusCode === 200) {
        return response.data;
    } else {
        return Promise.reject(response);
    }
};

// 统一的请求方法
const request = (options) => {
    return new Promise((resolve, reject) => {
        // 请求拦截
        const config = requestInterceptor(options);
        
        console.log('发送请求:', {
            url: `${BASE_URL}${config.url}`,
            method: config.method || 'GET',
            data: config.data,
            header: config.header
        });
        
        uni.request({
            url: `${BASE_URL}${config.url}`,
            method: config.method || 'GET',
            data: config.data,
            header: {
                'Content-Type': 'application/json',
                'Accept': 'application/json',
                ...config.header
            },
            timeout: 30000, // 设置超时时间为30秒
            success: (res) => {
                console.log('请求成功:', res);
                if (res.statusCode === 200) {
                    try {
                        const data = responseInterceptor(res);
                        resolve(data);
                    } catch (error) {
                        console.error('响应拦截器错误:', error);
                        reject(error);
                    }
                } else {
                    console.error('请求失败，状态码:', res.statusCode);
                    console.error('错误信息:', res.data);
                    reject(new Error(`请求失败，状态码: ${res.statusCode}`));
                }
            },
            fail: (error) => {
                console.error('请求失败:', error);
                reject(error);
            },
            complete: (res) => {
                console.log('请求完成:', res);
            }
        });
    });
};

export default request;


